Skip to main content

PageContext

页面上下文接口,提供页面级的操作功能。

接口定义

interface PageContext {
/**
* 执行GraphQL查询
*/
graphql(gql: string): Promise<any>;

/**
* 修改页面标题
*/
changeTitle: (title: string) => void;

/**
* 获取当前页面标题
*/
getTitle: () => string;

/**
* 关闭当前页签
*/
closeTab: () => void;

/**
* 获取当前页面的查询参数
*/
getQueryParams: () => any;
}

方法说明

graphql

执行GraphQL查询。

参数:

  • gql string - GraphQL查询语句

返回值: Promise<any> - 查询结果

使用示例:

thisApp.pageOnActive = async (context) => {
// 获取页面上下文
const pageContext = context.getPageContext();
const result = await pageContext.graphql(`
query {
users: User {
id
name
email
}
}
`);

console.log('查询结果:', result);
});

changeTitle

修改页面标题。

参数:

  • title string - 新的页面标题

使用示例:

thisApp.pageOnActive = (context) => {
// 获取页面上下文
const pageContext = context.getPageContext();
pageContext.changeTitle('用户管理页面');
});

getTitle

获取当前页面标题。

返回值: string - 当前页面标题

使用示例:

thisApp.pageOnActive = (context) => {
// 获取页面上下文
const pageContext = context.getPageContext();
const currentTitle = pageContext.getTitle();
console.log('当前页面标题:', currentTitle);
});

closeTab

关闭当前页签。

使用示例:

thisApp.pageOnActive = (context) => {
// 添加关闭按钮
const actionBar = context.getActionBar();
actionBar.addButton({
id: 'close',
text: '关闭',
title: '关闭当前页面',
type: 'flat',
onClick: (formExecutionContext) => {
// 获取页面上下文
const pageContext = context.getPageContext();
pageContext.closeTab();
}
});
});

getQueryParams

获取当前页面的查询参数。

返回值: any - 查询参数对象

使用示例:

thisApp.pageOnActive = (context) => {
// 获取页面上下文
const pageContext = context.getPageContext();
const params = pageContext.getQueryParams();
console.log('查询参数:', params);

// 根据参数执行不同的逻辑
if (params.userId) {
// 加载特定用户的信息
}
});